define("core", ["common", "jQuery", "r_css", "jQuery.notify", "appConfig"], function(jSouper, $, cssAPI) {
debugger
	require(["coAjax", "Cookies", "href", "queryString", "browser", "jSouper_page", "title", "page_onload", "mobile_jump", "eventManager"], function(coAjax, Cookies, href, QueryString, browser, jSouper_page, title, page_onload, mobile_jump, eventManager) {
		//自动跳转功能
		page_onload.register("*", function() {
			mobile_jump();
		});
		//加载页面CSS
		if (browser.isMobile()) {
			var cssUrlList = ["css/m.default.css", "css/icon.css"]
		} else {
			var cssUrlList = ["css/default-beta.css", "css/icon.css", "css/default-beta.css"]
		}
		cssUrlList = jSouper.map(cssUrlList, function(url) {
			return "r_css!" + lib_url + url;
		});
		debugger
		require(cssUrlList);
		/*
		 * 记录推荐者信息
		 */
		var queryString = new QueryString();
		var recommender_id = queryString.get("rcid");
		var guide_id = queryString.get("gi");
		if (recommender_id) {
			Cookies.set("recommender_id_bak", Cookies.get("recommender_id"));
			Cookies.set("recommender_id", recommender_id);
			eventManager.is(App.get("loginer"), "getLoginer", function() {
				var loginer = App.get("loginer");
				if (loginer._id == recommender_id) {
					Cookies.set("recommender_id", Cookies.get("recommender_id_bak"));
				}
			});
		}
		if (guide_id) {
			Cookies.set("guide_id_bak", Cookies.get("guide_id"));
			Cookies.set("guide_id", guide_id);
			eventManager.is(App.get("loginer"), "getLoginer", function() {
				var loginer = App.get("loginer");
				if (loginer._id == guide_id) {
					Cookies.set("guide_id", Cookies.get("guide_id_bak"));
				}
			});
		}
		/*
		 * 记录访客
		 */
		if (!href.isAdmin()) {
			coAjax.post(appConfig.recordVisitorInfo, {
				bus_id: appConfig.bus_id
			}, function(result) {
				console.log("访客信息已经记录：", result.result);
			});
		} else {
			console.log("管理员页面，访客信息不记录");
		}
		// (function() {
		// 	/*
		// 	 * 管理员相关的页面无需登录
		// 	 */
		// 	var no_user_login_pages = {
		// 		"/admin-beta.html": 1,
		// 		"/admin-login.html": 1
		// 	}
		// 	if (no_user_login_pages[location.pathname]) {
		// 		return;
		// 	}
		// 	console.log("获取登陆者信息……", location.pathname);
		// 	/*
		// 	 * 获取登录者信息
		// 	 */
		// 	function _check_collect_bus(collectBus) {
		// 		var is_collect = true;
		// 		if (jSouper.indexOf(collectBus, appConfig.bus_id) === -1) {
		// 			is_collect = false;
		// 		}
		// 		App.set("$Cache.is_collect_current_bus", is_collect)
		// 	}
		// 	coAjax.get(appConfig.user.loginer, function(data) {
		// 		console.log("登录者信息：", data.result);
		// 		userInfo = data.result;
		// 		App.set("loginer", userInfo);
		// 		//触发相关事件
		// 		eventManager.fire("getLoginer");
		// 		//校验是否已经收藏过此商家
		// 		var collectBus = userInfo.collectBus || [];
		// 		_check_collect_bus(collectBus);
		// 	}, function(errorCode) {
		// 		var muse_login_pages = {
		// 				"/personal-beta.html": 1,
		// 				"/cart-beta.html": 1
		// 			}
		// 			//未登录，不可进入个人页，强制跳转到登录页
		// 		if (muse_login_pages[location.pathname]) {
		// 			href.toLogin();
		// 		}
		// 	});
		// }());

		/*
		 * 初始化窗口信息
		 */
		title();
		/*
		 * 整理配置信息
		 */
		App.set("bus_info", appConfig.site_info);
		App.set("config", appConfig);
		/*
		 * 开启分页功能
		 */
		jSouper_page();
	});
	// /*
	//  * 使用History API实现无刷新跳转
	//  */
	// if (window.history && history.pushState) {
	// 	var _ajax_get_page;
	// 	var _current_page_info;
	// 	var _map_cache = {};
	// 	require(["jQuery", "href"], function($, href) {
	// 		$("body").on("click", "a", function(e) {
	// 			if (location.host == this.host) {
	// 				href.jump(this.href);
	// 				e.preventDefault();
	// 				return false;
	// 			}
	// 		});
	// 	});
	// }
	/*
	 * 重写弹出框
	 */
	require(["color"], function(color) {
		var _alert = window.alert;
		window.alert = function() {
			var args = arguments;
			var result;
			if (args.length === 1) {
				var alert_str = args[0];
				if (typeof alert_str === "string") {
					result = $.Notify.show(alert_str)
				} else {
					result = $.Notify(alert_str);
				}
			} else if (args.length >= 2) {
				var type = args[0];
				var alert_str = args[1];
				var time = (args[2] === undefined) ? 3000 : args[2];
				var class_color = color[type];
				result = $.Notify({
					style: {
						background: class_color,
						color: "white"
					},
					content: alert_str,
					timeout: time
				});
			}
			return result;
		}
	});
	return jSouper;
});